package com.ioc.business.base.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ioc.business.base.domain.StorageAreaLocation;
import com.ioc.business.base.domain.WarehouseUsage;
import com.ioc.business.base.domain.bo.warehouse.usage.WarehouseUsageBo;
import com.ioc.business.base.domain.bo.warehouse.usage.WarehouseUsageQueryBo;
import com.ioc.business.base.vo.warehouse.usage.WarehouseUsagePageVo;
import com.ioc.business.base.vo.warehouse.usage.WarehouseUsageVo;
import com.ioc.common.core.page.TableVo;

import java.util.List;

/**
 * <p>
 * 仓库使用情况表 服务类
 * </p>
 *
 * @author WeiZhongRong
 * @since 2025-01-09
 */
public interface IWarehouseUsageService extends IService<WarehouseUsage> {
    /**
     * 分页查询仓库使用情况列表
     *
     * @param queryBo
     * @return
     */
    TableVo<WarehouseUsage, WarehouseUsagePageVo> selectWarehouseUsagePageList(WarehouseUsageQueryBo queryBo);


    /**
     * 查询仓库使用情况详情信息
     *
     * @param warehouseUsageId
     * @return
     */

    WarehouseUsageVo selectWarehouseUsageById(Long warehouseUsageId);


    /**
     * 编辑仓库使用情况
     *
     * @param bo
     * @return
     */
    boolean updateWarehouseUsage(WarehouseUsageBo bo);

    /**
     * 删除仓库使用情况
     *
     * @param idList
     * @return
     */
    boolean removeWarehouseUsage(List<Long> idList);

    /**
     * 根据库位集合编辑仓库使用情况
     *
     * @param storageAreaLocationList
     */
    void editWarehouseUsage(List<StorageAreaLocation> storageAreaLocationList);
}
